1. Technical Field
The present invention relates to data processing and, in particular, to performing application builds on a server. Still more particularly, the present invention provides a method, apparatus, and program for performing synchronous builds on a server.
2. Description of Related Art
Server software is typically developed by programmers at a client workstation. Thus, a programmer may develop this software using a source repository and development environment that is different from the target of the software. After developing source code, the application must be built on the target platform.
Typically, a “build” process then converts a set of input files to a set of output files on the target platform using a transformation rule called the build script. As a simple example, a set of input files could be COBOL source, the build script could invoke a COBOL compiler on the server, and the output could be the files created by the compiler. After the build is successfully completed, the developer may retrieve the output from the server and store the output files in the repository of the development platform, perhaps as input to a subsequent build.
Consequently, the developer must transform the input files to the target platform using file transfer protocol (FTP) or another file transfer utility. Then, the developer must invoke the build script. The build script is the prescription for transforming the input into the output. The build script may take the form of a command file or a job in a job control language (JCL) stream. JCL is a command language for mini and mainframe operating systems that launches applications. JCL specifies priority, program size, and running sequence, as well as the files and databases used. To invoke the build script, the user could use the network job entry (NJE) protocol or another tool.
The user must then determine the result of the execution of the build script. In other words, the user must determine whether the build completed and whether or not the build script executed successfully. If the build script execution is successful and the output needs to be retrieved from the server, then the developer must transfer the output files from the server, again using FTP or another file transfer utility.
This process for performing builds on a target platform is inconvenient and prone to errors. There are products that allow a user to do a remote edit on a workstation platform, but the file resources are still stored in the server environment. They allow a build to be started from the workstation, but they require the user to monitor a job queue to determine the results of the build. These solutions are usually proprietary to the specific tool or product.
Therefore, it would be advantageous to provide a single, seamless process for defining inputs, outputs, and build scripts to perform a synchronous build on a server.